package com.carl.mall.product.convert;


import com.carl.common.dto.SkuReductionDTO;
import com.carl.mall.product.entity.*;
import com.carl.mall.product.vo.AttrEntityVO;
import com.carl.mall.product.vo.AttrGroupAttrResponseVO;
import com.carl.mall.product.vo.AttrGroupRelationVO;
import com.carl.mall.product.vo.AttrResponseVO;
import com.carl.mall.product.vo.skuvo.Attr;
import com.carl.mall.product.vo.skuvo.Skus;
import com.carl.mall.product.vo.skuvo.SpuInfoVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper
public interface EntityToVoConvert {
    EntityToVoConvert INSTANCE = Mappers.getMapper(EntityToVoConvert.class);

    AttrEntity attrEntityToVO(AttrEntityVO attrEntityVO);

    AttrResponseVO attrEntityToResponseVO(AttrEntity attrEntity);

    List<AttrAttrgroupRelationEntity> attrGroupRelationVOTOEntityList(List<AttrGroupRelationVO> relationVOList);

    AttrAttrgroupRelationEntity AttrAttrgroupRelationEntity(AttrGroupRelationVO attrGroupRelationVO);

    AttrGroupAttrResponseVO attrGroupAttrEnToVo(AttrGroupEntity attrGroupEntity);

    SpuInfoEntity  spuInfoVOTOSpuInfoEntity(SpuInfoVO spuInfoVO);

    SkuInfoEntity skusTOskuInfoEntity(Skus skus);

    SkuSaleAttrValueEntity attrsTOSkuSaleAttrValueEntity(Attr attr);

    SkuReductionDTO skuTOSkuReductionDTO(Skus skus);

    SpuInfoVO spuInfoEnToSpuInfoVo(SpuInfoEntity spuInfoEntity);

}
